![]() |
ALMaSS
1.0
The Animal, Landscape and Man Simulation System
|
A class to describe the Pinkfoot non-breeder. More...
#include <GoosePinkFooted_All.h>
Public Member Functions | |
Goose_Pinkfoot_NonBreeder (Landscape *p_L, Goose_Population_Manager *p_NPM, double a_weight, bool a_sex, APoint roost) | |
Goose_Pinkfoot_NonBreeder constructor. More... | |
void | Init (Goose_Population_Manager *p_NPM, double a_weight, bool a_sex, APoint a_roost) |
Intitialise object. More... | |
void | ReInit (Landscape *p_L, Goose_Population_Manager *p_NPM, double a_weight, bool a_sex, APoint a_roost) |
ReInit for object pool. More... | |
virtual | ~Goose_Pinkfoot_NonBreeder () |
Goose_Pinkfoot_NonBreeder destructor. More... | |
virtual void | Step (void) |
The Goose_Pinkfoot_NonBreeder Step. More... | |
![]() | |
Goose_Pinkfoot_Base (Landscape *p_L, Goose_Population_Manager *p_NPM, double a_weight, bool a_sex, APoint a_roost) | |
Goose_Pinkfoot_Base constructor. More... | |
void | Init (Goose_Population_Manager *p_NPM, double a_weight, bool a_sex, APoint a_roost) |
Intitialise object. More... | |
void | ReInit (Landscape *p_L, Goose_Population_Manager *p_NPM, double a_weight, bool a_sex, APoint a_roost) |
ReInit for object pool. More... | |
virtual | ~Goose_Pinkfoot_Base () |
Goose_Pinkfoot_Base destructor. More... | |
![]() | |
Goose_Base (Landscape *p_L, Goose_Population_Manager *p_NPM, double a_weight, bool a_sex, APoint a_roost) | |
Goose_Base constructor. More... | |
void | Init (Goose_Population_Manager *p_NPM, double a_weight, bool a_sex, APoint a_roost) |
Intitialise object. More... | |
void | ReInit (Landscape *p_L, Goose_Population_Manager *p_NPM, double a_weight, bool a_sex, APoint a_roost) |
ReInit for object pool. More... | |
virtual | ~Goose_Base () |
Goose_Base destructor. More... | |
void | st_Dying (void) |
Behavioural state dying. More... | |
void | Explore () |
Behavioural exploration of the area to find forage. More... | |
TTypeOfGoose_BaseState | st_Forage () |
Behavioural forage. More... | |
APoint | GetRoost () |
Supply roost coords. More... | |
TMaxIntakeSource | GetMaxIntakeSource () |
Supply the current max intake source. More... | |
TTypeOfGoose_BaseState | st_Roost () |
Roosting until next forage or next morning. More... | |
void | EvaluateForageToHopLoc (APoint a_HopLoc) |
Do a forage evaluation from current location to a_HopLoc. More... | |
virtual void | StartDay (void) |
Do any 'housekeeping' associated with the start of day. More... | |
virtual void | BeginStep (void) |
The BeginStep is the first 'part' of the timestep that an animal can behave in. It is called once per timestep (10 minutes). More... | |
virtual void | EndStep (void) |
The EndStep is the third 'part' of the timestep that an animal can behave in. It is called once per timestep. More... | |
virtual void | On_Emigrate () |
Cause the bird to immediately transition to Emigrate. More... | |
double | GetBodyCondition () |
Returns the current body condition. More... | |
void | SetBodyCondition (double a_condition, unsigned a_index) |
Sets the current body condition. More... | |
void | AddBodyCondition (double a_condition) |
Alters body conditon by addition of a double value. More... | |
void | SubtractBodyCondition (double a_condition) |
Alters body conditon by subtraction of a double value. More... | |
int | GetGroupsize () |
Returns the groupsize. More... | |
double | ScaleForageToGroupsize (double a_forage) |
Scales forage to groupsize. More... | |
int | GetForageLocIndex () |
Gets for the forage location index. More... | |
GooseSpecies | GetSpecies () |
Returns the species. More... | |
bool | GetSex () |
Returns the sex. More... | |
int | GetMaxAppetiteHitTime () |
Returns m_DailyMaxAppetiteHitTime. More... | |
int | GetFlightNumber () |
Returns the total daily number of flights. More... | |
int | GetFlightDistance () |
Returns the total daily distance flown. More... | |
double | GetDailyEnergyBudget () |
Returns the daily energy budget. More... | |
double | GetDailyEnergyExpenditure () |
Returns the daily energy expenditure. More... | |
int | GetForagingTime (int a_EndForagingTime, double a_RoostLeaveTime) |
Returns the time spent foraging. More... | |
double | GetGooseMinForageRate (GooseSpecies a_species) |
Returns the minimum forage rate for the species. More... | |
double | GetMaxForageRate (double a_grain, double a_maize, double a_grass, double a_interferenceComp, bool a_iscereal, TTypesOfVegetation a_veg, bool a_stubble, TTypesOfVegetation a_prevcrop) |
Returns the max forage rate of the three different types of forage The max rate is adjusted according to feeding time in the time budget, according to the interference competition value and to the current snow depth in the landscape. More... | |
double | GetMaxIntakeRate (double a_grain, double a_maize, double a_grass) |
Returns the max intake rate of the three different types of intake. More... | |
void | SetSex (bool a_sex) |
Sets the sex. More... | |
double | GetTotalWeight () |
Returns the weight of the bird. More... | |
double | GetRoostLeaveTime () |
Returns the time when the goose leaves the roost. More... | |
void | SetFlightCost (double a_cost) |
Set the flight cost per m per g. More... | |
double | GetFlightCost () |
Get the flight costs per m per g. More... | |
void | Set_mingooseforagerate (double a_cost, GooseSpecies a_species) |
Set the mimimum tolerated forage rate for all geese. More... | |
void | Set_Indivmingooseforagerate (double a_cost) |
Set the mimimum tolerated forage rate for the individual goose. More... | |
void | Set_GooseLeavingThreshold (double a_threshold) |
Set the body condition threshold for leaving for all geese. More... | |
void | Set_GooseMaxAppetiteScaler (double a_cost) |
Set the goose appetite scale used to calculate max intake for all geese. More... | |
void | Set_GooseMaxEnergyReserveProportion (double a_prop) |
Set the maximum energy reserve proportion allowed for all geese. More... | |
void | Set_GooseKJtoFatConversion (double a_cost) |
Set the kJ to fat conversion constant for all geese. More... | |
void | Set_GooseFattoKJConversion (double a_cost) |
Set the fat to kJ conversion constant for all geese. More... | |
void | Set_GooseMinForageOpenness (double a_cost) |
Set the min forage openess for all geese. More... | |
void | Set_GooseForageDist (double sp1, double sp2, double sp3) |
Set the max forage distance from roost for all geese. More... | |
void | Set_GooseFieldForageDist (double sp1, double sp2, double sp3) |
Set the max forage distance from a field for all geese. More... | |
void | Set_GooseFollowingLikelyhood (int a_likelyhood, GooseSpeciesType a_speciestype) |
Set the followinglikelyhood. More... | |
void | Set_GooseLeavingRoost (bool a_leaving) |
Set the flag to indicate if we are coming from the roost. More... | |
void | On_MoveTo (int a_x, int a_y) |
The goose is moved to the location specified by a_x, a_y - caused by group decision. More... | |
virtual void | KillThis () |
The bird is dead of some external cause. More... | |
void | On_Bang (int a_polyid) |
The goose is scared by a bang at location. More... | |
void | On_Bang (int a_polyid, double a_scare) |
The goose is scared by a bang at location. More... | |
void | On_Migrate (TTypeOfLeaveReason a_leavereason) |
The goose is told to leave the simulation area (poss due to bad weather) More... | |
double | AdjustIntakeRateToSnowDepth (double a_intakerate) |
When there is snow, the intake rate is decreased by 10 % per cm of snow. More... | |
![]() | |
unsigned | SupplyFarmOwnerRef () |
AnimalPosition | SupplyPosition () |
APoint | SupplyPoint () |
int | SupplyPolygonRef () |
int | Supply_m_Location_x () |
int | Supply_m_Location_y () |
virtual void | CopyMyself () |
void | SetX (int a_x) |
void | SetY (int a_y) |
TAnimal (int x, int y, Landscape *L) | |
virtual void | ReinitialiseObject (int x, int y, Landscape *L) |
Used to re-use an object - must be implemented in descendent classes. More... | |
virtual int | WhatState () |
virtual void | Dying () |
void | CheckManagement (void) |
void | CheckManagementXY (int x, int y) |
virtual bool | OnFarmEvent (FarmToDo) |
![]() | |
int | GetCurrentStateNo () |
Returns the current state number. More... | |
void | SetCurrentStateNo (int a_num) |
Sets the current state number. More... | |
bool | GetStepDone () |
Returns the step done indicator flag. More... | |
void | SetStepDone (bool a_bool) |
Sets the step done indicator flag. More... | |
virtual void | ReinitialiseObject () |
Used to re-use an object - must be implemented in descendent classes. More... | |
TALMaSSObject () | |
The constructor for TALMaSSObject. More... | |
virtual | ~TALMaSSObject () |
The destructor for TALMaSSObject. More... | |
void | OnArrayBoundsError () |
Used for debugging only, tests basic object properties. More... | |
Additional Inherited Members | |
![]() | |
virtual TTypeOfGoose_BaseState | st_ToRoost () |
Return to roost and assess whether to forage again that day. More... | |
virtual void | ChangeRoost () |
Find the closest roost. More... | |
virtual APoint | ChooseHopLoc () |
Pick a hop location point within a_dist meters - must be overridden by descendent classes. More... | |
![]() | |
TTypeOfGoose_BaseState | st_ChooseForageLocation (void) |
Selects a forage location based on past memory, or initiates an exploration. More... | |
void | FlyTo (int a_x, int a_y) |
The goose flys to the location specified by a_x, a_y. More... | |
void | FlyTo (APoint a_pt) |
The goose flys to the location specified by a_pt. More... | |
![]() | |
void | CorrectWrapRound () |
Corrects wrap around co-ordinate problems. More... | |
![]() | |
TTypeOfGoose_BaseState | CurrentGState |
Variable to record current behavioural state. More... | |
Goose_Population_Manager * | m_OurPopulationManager |
This is a time saving pointer to the correct population manager object. More... | |
bool | m_sex |
Sex of bird, true = male false = female. More... | |
GooseSpecies | m_myspecies |
Holds goose species. More... | |
GooseSpeciesType | m_myGooseSpeciesType |
Holds the goose species type. More... | |
APoint | m_MyRoost |
The current roost location. More... | |
int | m_groupsize |
The size of the group this bird represents. More... | |
double | m_weight |
The weight of the bird in gram excluding fat reserve. More... | |
double | m_weightTotal |
The weight of the bird in g including fat reserve. More... | |
int | m_forageLocCount |
The number of forage locations visited today. More... | |
double | m_BMR |
The daily BMR. More... | |
double | m_DEB |
The daily energy budget excluding flying (kJ) More... | |
double | m_DailyMaxAppetite |
The daily max kJ possible to get as intake. More... | |
int | m_DailyMaxAppetiteHitTime |
The time of day when m_DailyMaxAppetite was hit. More... | |
double | m_energyToday |
The bird's daily energy account (kJ) More... | |
TMaxIntakeSource | m_MaxIntakeSource |
Holds information about the food source which gave max intake rate. More... | |
double | m_LeaveRoostTime |
Controls the time when the goose will leave the roost. More... | |
bool | m_LeavingRoost |
Flag to indicate that we are coming from the roost. Used to control code for "following". More... | |
double | m_energyReserve |
The bird's energy reserves in grams. More... | |
double | m_Indivmingooseforagerate |
The minimum tolerable forage rate in kJ/minute for the individual. More... | |
double | m_BodyCondition [5] |
A variable describing current body condition over the past 5 days. More... | |
double | m_TheBodyCondition |
A variable describing current body condition averaged over 5 days. More... | |
unsigned | m_BodyConditionCounter |
A counter for the daily body condition. More... | |
int | m_myForageIndex |
Temporary storage for a forage location index - this is a speed optimisation. More... | |
int | m_myMemPolyID |
Temporary storage for a memory location polygon id. More... | |
GooseMemoryMap * | m_MyMemory |
The Goose Memory. More... | |
int | m_FlightNumber |
Counter for the number of flights per day. More... | |
int | m_FlightDistance |
Storage for the total distance flown per day. More... | |
![]() | |
int | m_Location_x |
int | m_Location_y |
Landscape * | m_OurLandscape |
![]() | |
int | m_CurrentStateNo |
The basic state number for all objects - '-1' indicates death. More... | |
bool | m_StepDone |
Indicates whether the iterative step code is done for this timestep. More... | |
![]() | |
static double | m_SnowDepth = 0.0 |
The current snow depth. Held here for speed optimization. More... | |
static double | m_flightcost = -1 |
The cost of flight per g per m in kJ. More... | |
static double | m_mingooseforagerate [gs_foobar] = { -1, -1, -1 } |
The minimum tolerable forage rate in kJ/minute for the species. More... | |
static double | m_GooseForageDist [gs_foobar] = { -1, -1, -1 } |
The maximum distance travelled from roost to forage sites for each species of goose (m) More... | |
static double | m_GooseForageDistX2 [gs_foobar] = { -1, -1, -1 } |
Double the maximum distance travelled from roost to forage sites for each species of goose (m) - this is a speed optimisation. More... | |
static double | m_GooseFieldForageDist [gs_foobar] = { -1, -1, -1 } |
The maximum distance travelled from roost to forage sites for each species of goose (m) More... | |
static double | m_GooseFieldForageDistX2 [gs_foobar] = { -1, -1, -1 } |
Double the maximum distance travelled from roost to forage sites for each species of goose (m) - this is a speed optimisation. More... | |
static double | m_GooseLeavingThreshold = -1 |
The trigger for leaving as a 5 day average of body condition. More... | |
static double | m_GooseMaxAppetiteScaler = -1 |
Scaler to determine the max kJ possible to eat per day based on non-energy reserve weight. More... | |
static double | m_GooseMaxEnergyReserveProportion = -1 |
Max proportion of weight that can be energy reserve. More... | |
static double | m_GooseKJtoFatConversion = -1 |
Conversion rate kJ to fat. More... | |
static double | m_GooseFattoKJConversion = -1 |
Conversion rate fat to kJ. More... | |
static double | m_GooseMinForageOpenness = -1 |
The minimum openness value a goose will tolerate for forage. More... | |
static int | m_followinglikelyhood [(int) gst_foobar] = { -1, -1, -1 , -1, -1, -1 } |
An attribute used to determine the chance of following or exploring when foraging. More... | |
A class to describe the Pinkfoot non-breeder.
Goose_Pinkfoot_NonBreeder::Goose_Pinkfoot_NonBreeder | ( | Landscape * | p_L, |
Goose_Population_Manager * | p_NPM, | ||
double | a_weight, | ||
bool | a_sex, | ||
APoint | roost | ||
) |
Goose_Pinkfoot_NonBreeder constructor.
References Init().
|
virtual |
Goose_Pinkfoot_NonBreeder destructor.
void Goose_Pinkfoot_NonBreeder::Init | ( | Goose_Population_Manager * | p_NPM, |
double | a_weight, | ||
bool | a_sex, | ||
APoint | a_roost | ||
) |
Intitialise object.
Here we deal with intialisation that is only for Goose_Pinkfoot_NonBreeder birds. This is the only difference between family birds and non-breeders.
References gst_PinkfootNonBreeder, Goose_Pinkfoot_Base::Init(), Goose_Base::m_groupsize, and Goose_Base::m_myGooseSpeciesType.
Referenced by Goose_Pinkfoot_NonBreeder(), and ReInit().
void Goose_Pinkfoot_NonBreeder::ReInit | ( | Landscape * | p_L, |
Goose_Population_Manager * | p_NPM, | ||
double | a_weight, | ||
bool | a_sex, | ||
APoint | a_roost | ||
) |
ReInit for object pool.
References Init(), and Goose_Pinkfoot_Base::ReInit().
Referenced by Goose_Population_Manager::CreateObjects().
|
virtual |
The Goose_Pinkfoot_NonBreeder Step.
In state ChooseForageLocation, if the bird is the group leader then he will determine the forage location. Otherwise does nothing, all thinking is done by the group leader.
In state Forage the bird must assess competitive status, and determine forage intake. If acceptable feed, otherwise move
Reimplemented from Goose_Base.
References Goose_Base::CurrentGState, TALMaSSObject::m_CurrentStateNo, TAnimal::m_OurLandscape, TALMaSSObject::m_StepDone, Goose_Base::On_Migrate(), Goose_Base::st_ChooseForageLocation(), Goose_Base::st_Dying(), Goose_Base::st_Forage(), Goose_Base::st_Roost(), Goose_Pinkfoot_Base::st_ToRoost(), togs_ChooseForageLocation, togs_Die, togs_Emigrate, togs_Forage, togs_InitialState, togs_Roost, togs_ToRoost, tolr_migration, and Landscape::Warn().